package proxy.staticproxy;


import proxy.DemoService;

/**
 * @Description: null
 * @Project: testDemo
 * @Author: hjibo
 * @CreateDate: 2019/2/2 08:49
 * @ModificationHistory: （who whatTime doWhat）
 */
// 定义一个代理类也实现我们的接口
public class DemoProxy implements DemoService {

    // 需要被代理的目标对象
    private DemoService targer;

    // 构造方法
    public DemoProxy(DemoService targer) {
        this.targer = targer;
    }

    @Override
    public void sayHello() {

        // 在实际对象的方法之前加入一些逻辑
        System.out.println("说你好之前，我先挥挥手");

        // 实际对象的方法
        targer.sayHello();

        // 在实际对象的方法之后加入一些逻辑
        System.out.println("说你好之后，我再给你个飞吻");

    }

    @Override
    public void sayGoodbye() {

        // 实际对象的方法
        targer.sayGoodbye();

    }
}
